// package com.demo.config.canal.redisAndRabbitMQ;
//
// import com.demo.config.canal.test3.CanalMySQL2RedisTask;
// import com.demo.config.canal.test3.SpringContextUtil;
// import com.demo.config.canal.test3.TableStrategyContext;
// import com.demo.config.redis.RedisUtil;
// import jakarta.annotation.PostConstruct;
// import lombok.extern.slf4j.Slf4j;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.beans.factory.annotation.Value;
// import org.springframework.stereotype.Component;
//
//// canal服务启动类：
//// 说明：DTS是阿里云提供的服务，在同步缓存这方面来说，与canal实现的功能是一样的；为保证生产的稳定性，开发环境使用canal，生产环境使用DTS。
//// （这里可以先忽略DTS，后续有时间再说DTS的使用）
/// **
// * 通过监听mysql binlog同步redis缓存：非生产环境使用阿里云DTS,非生产环境（开发、测试、预生产）使用自搭建canal服务
// */
// @Slf4j
// @Component
// public class MySQL2Redis {
//
// /**
// * canal服务配置<测试环境用canal>
// **/
// @Value("${canal-server.host}")
// private String canalServerHost;
//
// @Value("${canal-server.port}")
// private int canalServerPort;
//
// @Value("${canal-server.desrination}")
// private String canalServerDesrination;
//
// @Value("${canal-server.data-base}")
// private String dataBase;
//
// @Value("${canal-server.batch-size}")
// private int batchSizeInit;
//
// /**
// * 阿里DTS服务配置<生产环境用DTS>
// **/
// @Value("${dts.accessKey}")
// private String accessKey;
//
// @Value("${dts.accessSecret}")
// private String accessSecret;
//
// @Value("${dts.subscription_instance_id}")
// private String subscriptionInstanceId;
//
//
// @Autowired
// private SpringContextUtil springContextUtil;
//
// @Autowired
// private RedisUtil redisUtil;
//
// @Autowired
// private TableStrategyContext tableStrategyContext;
//
// public MySQL2Redis() {
// }
//
// @PostConstruct
// public void init() {
// log.info(" === start ===");
//// String activeProfile = SpringContextUtil.getActiveProfile();
//// // 判断是否生产环境
//// boolean proEvn = ActiveEvnEnums.isProEvn(activeProfile);
//// if (proEvn) {
//// log.info(" === 生产环境，启动DTS监听 ===");
////// new Thread(new DTSMySQL2RedisTask(accessKey, accessSecret,
////// subscriptionInstanceId, tableStrategyContext)).start();
//// } else {
// log.info(" === 非生产环境，启动canal-client监听 ===");
// new Thread(new CanalMySQL2RedisTask(canalServerHost, canalServerPort,
// canalServerDesrination, dataBase, batchSizeInit, tableStrategyContext)).
// start();
//// }
// }
// }
